Introduction to backend
So one week back I have started exploring some ways to gain industry insights and tried to know about how exactly things work out in the real jobs. then, I stopped upon two people Abi(forgoodcode) and Kshitiz Miglani. Both of them has a good experience of industry. I have joined Kshitiz sirās bootcamp Devsnest for a detailed learning of full-stack and as Abiās content is free on Instagram, I read at least 5 posts daily there and tried to learn its concepts. In this process I got a introductory view about backend. on the first view it seemed (or still seems) a bit complicated, no not hard but exciting. There are a tons of concepts and ideas in backend which industry currently doesnāt use these days but we have to learn to it because further and newer concepts are depended on those concepts. another thing I felt that Logic is more required and important in backed than in frontend.
Is backend better than frontend?
I am still travelling in the backend world and a common opinion I crashed upon is : Backend techs are old and solid, so they have sustained for years and years. while frontend is majorly driven by frameworks, so a good amount of developers believe that a specific frontend tech is a matter of time, when there will be better a framework, you have to learn it and prove yourself again. on the other hand backend things are very basic and every machine every plan every execution stands on those basic pillars. hence, they believe that focusing on backend more will get you big wins in the long run. How much of it is true and fact, I honestly donāt know as I am just getting into it. But I am happier than ever, because I am slowly getting to that level where I can answer this question.
Frontend vs. Backend : my views
I feel both are very very exciting and also a good distance apart from each other. Frontend might include more creativity in terms of execution while backend is purely logic driven. Things we see on an app can be changed but how those things work and how reliable they should, canāt be changed. moreover, optimization in frontend is not that of big importance but in backend, optimization is everything. (I might be wrong on some of these views, but we will see)
Development flow of an app
Last to last week I finally figured out, what is the flow of an actual development of maximum of apps we see today. Here goes
- UX Designer : they first have design the idea into wireframes (a rough digital drawing with user flow mentioned). they have expertise in researching and knowing what users actually want from the app, so they decided the design, the flow and a ton of minute things that I have no idea about.
- UI Designer : they transfer the wireframes into actual design with right colors, elements, graphic and everything that is needed to get the final and actual look of the app. But they do it on a graphical level on Figma/Photoshop/Illustrator.
- Frontend Developer : after finalizing the design UI designer will pass on the Figma file to the frontend developer, who will now transform that design into code (because code is faster than graphics any day any time). frontend people use various language and frameworks to do it.
- Backend Developer : they handles database and algorithms that required to give the user what he wants in interaction with every element. where user data will be stored, how to make the app fast as possible, how to introduce a new feature with out messing up the old code - all these things are handled by backend people.
An real world example : you click on the āapply discountā button. that button is planned by an UX designer, how it should look is designed by an UI designer, the button you just pressed is shown there by a Frontend developer and also what happens when you click there is his work and finally how fast the discount will be applied and which discount type will be good for you is the doings of a Backend developer. sometimes both the frontend and backend work is done by one person, and the world call them Full Stack Developer (one day my LinkedIn will be calling me the same, fingers crossed).
DSA and Python (an elephant and his mahout)
I have started petting the elephant named Data structures and algorithms(DSA). it is the reason why there is a computer science degree even exists, so mastering it is a must for me. and to learn it I choose Python as the language as it is the most intelligent language and way simpler than my usual breakfast JavaScript.
Next goal : DevOps
as of now I have no idea DevOps is the name of which bird? thatās why it is next on my figuring list. Right now in the industry, DevOps is a must for Full Stack Development, so canāt risk ignoring it.
Coding concepts has two faces
Implementing a coding concept and knowing it top to down from its root is two different things. One can implement the concepts to build basic stuffs, but the interviewer whom you are showing that work too will expect you to be knowing them as detailed as possible. So, on the very first iteration of my coding journey, I have built projects using concepts and moderately knowing about them, but now I am deep diving into them (it is as satisfying as seeing JCB ki khudaai)